一台电脑管理多个ssh key

一台电脑管理多个ssh key

最近运维那边管理服务器,考虑到服务器的账号密码的安全性,因此考虑使用免密钥登录,使用ssh进行登录。然后麻烦就来了,因为我有一些github需要ssh,而此时我并不知道如何去管理多个ssh账号,因此略显狼狈,闲下来写写博客时,才想到整理一篇这样的文章,以备日后使用

生成ssh key

使用命令

1
ssh-keygen -t rsa -C "mail@company.com"
  • -t:指定使用rsa算法生成ssh的key
  • -C:指定账户

第一回车

在第一个回车时指定生成的文件名或者指定生成文件存放的位置,这里我指定不同的文件名就好,无需指定文件位置,例如github的就指定github_rsa就好了,如果是gitLab的就gitLab_rsa

设置ssh的代理

  1. 查看代理
1
ssh-add -l

如果提示

1
Could not open a connection to your authentication agent.

则表示系统没有代理任何key,可以添加一个ssh代理

1
exec ssh-agent bash

如果已经有了代理,使用以下代码进行删除

1
ssh-add -D

添加私钥

1
2
ssh-add /c/Users/PC/.ssh/github_rsa
ssh-add /c/Users/PC/.ssh/ubuntu_rsa

添加公钥

在github上添加对应的公钥,在服务器添加对应的公钥

新建编辑一个config文件

在.ssh目录下新建一个config文件

1
touch /c/Users/PC/.ssh/config

然后往config文件里添加以下内容

1
2
3
4
5
6
7
8
9
10
11
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile /c/Users/PC/.ssh/github_rsa
user git

Host <你的服务器ip>
HostName <你的服务器ip>
PreferredAuthentications publickey
IdentityFile /c/Users/PC/.ssh/ubuntu_rsa
user ubuntu

上面是我的config文件里配置,其内容根据具体情况而定,保存之后,通过ssh -T git@github.com进行测试

-------------本文结束感谢您的阅读-------------